home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / comm / fido / ROCK14.lha / rock.wpl < prev    next >
Text File  |  1995-04-18  |  8KB  |  306 lines

  1. ;WPLSCRIPT rock
  2. PRINT "Config Error! (main)\n"
  3. RETURN
  4.  
  5. ;             Rock v1.4 - Fidonet mailer for point systems
  6. ;         Copyright (c) 1994 Robert Williamson and Denis Turcotte
  7. ;      Modifications for ROCK are  Copyright (C) 1995  Jean-Marc Xiume'
  8. ;         This software is distributed under the terms of the
  9. ;    GNU General Public License. Read "license.doc" for more details.
  10.  
  11. ;**************************** Main WPL script **************************
  12.  
  13.  
  14. M:
  15. SUBJUMP ROCKDEF!DISPLAY
  16. SUBJUMP ROCKFIG!DISPLAY
  17. SET cstatus "NOCLOSE"
  18. SET wstatus "NOWAIT"
  19. CMPI $(closestatus) FALSE
  20. FALSEJUMP M1
  21. SET cstatus "CLOSE"
  22. SET wstatus "WAIT"
  23.  
  24. M1: SETSTATUS "$(status)/ROCK v1.4beta5 is copyright © 1994-1995 by Jean-Marc Xiume'/$(cstatus)/$(wstatus)/INACTIVE/SCREEN $(pubscreen)"
  25. PRINT "ROCK mailer started\n"
  26. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Started ROCK mailer v1.4beta5"\"
  27.  
  28. SUBJUMP ROCKDEF!FIDO
  29. SUBJUMP ROCKDEF!MODEM
  30. SUBJUMP ROCKDEF!FILES
  31. SUBJUMP ROCKFIG!FIDO
  32. SUBJUMP ROCKFIG!MODEM
  33. SUBJUMP ROCKFIG!FILES
  34. PRINT "ROCK mailer configured\n\n"
  35. SET stack 4096
  36. SET serflags 164
  37. SETBAUD $(baud)
  38. SET starttime 0
  39. SET callboss TRUE
  40. SET X $(numbers)
  41.  
  42. AddResponse FIND "CONNECT "
  43. AddResponse BUSY "BUSY"
  44. AddResponse MAID "NO CARRIER"
  45. AddResponse LINE "NO DIALTONE"
  46. AddResponse 300     "CONNECT"
  47.  
  48. set mailername.0 "MelMail"
  49. set mailername.5 "OPUS"
  50. set mailername.7 "WPL based mailer"
  51. set mailername.12 "FrontDoor"
  52. set mailername.27 "Binkley"
  53. set mailername.57 "TrapDoor"
  54. set mailername.58 "Welmat"
  55. set mailername.66 "TIMS"
  56. set mailername.106 "MacWoof"
  57. set mailername.170 "Xenolink"
  58.  
  59. SETA host $(host.address)
  60. SET host.wzdomain $(host.domain).org host.freq FALSE host.wzcap 8
  61. SET minsendpri 0 maxsendpri 127 initloop 8 initwait 3 owndevunit FALSE
  62. SET postinbound ROCK!W postoutbound ROCK!X preinbound ROCK!Y preoutbound ROCK!Z
  63.  
  64.  
  65. SYSTEM "execute rock:assignxferq $(outbound)xferq"
  66.  
  67. PRINT "Preparing to call ${rock_calling}\n"
  68. CMPI ${rock_calling} "BOSS"
  69. FALSEJUMP CA
  70. REXXMSG "" REXX "ROCK:bossflo.rexx $(outbound)"
  71. JUMP F
  72.  
  73. CA: REXXMSG "RY" REXX "ROCK:addrcheck.rexx ${rock_calling}"
  74. CMP $(result2) 0
  75. TRUEJUMP A
  76. PRINT "Invalid address $(rock_calling)\n"
  77. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Invalid address ${rock_calling}"\"
  78. JUMP E0
  79.  
  80. A:
  81. SET callboss FALSE
  82. SET minbaud 0
  83. SET numbers 1
  84. SETA remote "${rock_calling}"
  85. CLEAR remote.number remote.password
  86.  
  87. CMPI $(nodelist) FALSE
  88. TRUEJUMP AM
  89.  
  90. PRINT "Searching nodelist...\n"
  91. REXXMSG "RY" REXX "ROCK:nodelist.rexx ${rock_calling} $(nodelist)"
  92. CMP $(result2) 1
  93. TRUEJUMP AM
  94.  
  95. SET remote.number ${rock_phone}
  96. SET remote.password ${rock_password}
  97. PRINT "Phone    $(remote.number)\n"
  98. PRINT "Password $(remote.password)\n"
  99. JUMP F
  100.  
  101. AM:
  102. PRINT "\nPlease enter the phone number and the password of the called BBS\n"
  103. REXXMSG "SY,RY" REXX "OPTIONS PROMPT 'Phone number: ';PARSE PULL x;RETURN x"
  104. SET remote.number $(result2)
  105. REXXMSG "SY,RY" REXX "OPTIONS PROMPT 'Password: ';PARSE PULL x;RETURN x"
  106. SET remote.password $(result2)
  107.  
  108. F:
  109. PRINT "\nSerial port speed:$(baud)bps - MinBaud:$(minbaud)bps\n"
  110.  
  111. I:
  112. PRINT "Initializing Modem\n"
  113. SET RC $<abort>
  114. TRUEJUMP AB
  115.  
  116. MODEMOPEN
  117. TRUEJUMP I1
  118. PRINT "Cannot open device !\n"
  119. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Failed opening modem device !"\"
  120. JUMP ER
  121.  
  122. I1: MODEMINIT
  123. TRUEJUMP I2
  124. PRINT "Init failed!\n"
  125. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Modem init failed !"\"
  126. JUMP ER
  127.  
  128. I2: MODEMCLEAR
  129.  
  130.  
  131. D1:
  132. SET RC $<ABORT>
  133. TRUEJUMP AB
  134.  
  135. CMPI $(callboss) TRUE
  136. FALSEJUMP D2
  137.  
  138. REXXMSG "RY,SY" REXX "IF ($(X)+1)>$(numbers) THEN RETURN 1;ELSE RETURN $(X)+1"
  139. SET X $(result2)
  140. SETA remote $(boss.address$(X))
  141. SET remote.number $(boss.number$(X))
  142.  
  143. D2: CMP $(remote.number) ""
  144. FALSEJUMP D3
  145. PRINT "No phone number\n"
  146. JUMP ER
  147.  
  148. D3: PRINT "\nCalling $(remote.address) at $(remote.number)\n"
  149. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Calling $(remote.address) at $(remote.number)"\"
  150. SMARTSEND "$(dialstring)$(remote.number)|"
  151. GETRESPONSE $(modemwait)
  152. SET RC $<abort>
  153. TRUEJUMP AB
  154. ;PRINT "Event: $(event)\n"
  155. CMP $(event) CONNECT
  156. TRUEJUMP C
  157. CMP $(event) BUSY
  158. TRUEJUMP BZ
  159. CMP $(event) MAID
  160. TRUEJUMP NC
  161. CMP $(event) LINE
  162. TRUEJUMP ND
  163. CMP $(event) TIMEOUT
  164. TRUEJUMP AB
  165. JUMP ER
  166.  
  167. BZ: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> BUSY"\"
  168. DELAY $(calldelay)
  169. JUMP D1
  170.  
  171. ND: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> NO DIALTONE"\"
  172. PRINT "Something is OUT OF ORDER! Will try again in 20 sec.\n"
  173. DELAY 20
  174. JUMP D1
  175.  
  176. NC: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> NO CARRIER"\"
  177. DELAY $(calldelay)
  178. JUMP D1
  179.  
  180.  
  181. C:
  182. REXXMSG "RY,SY" REXX "IF $(baud)>=$(minbaud) THEN RETURN 1;ELSE RETURN 0"
  183. SET RC $(result2)
  184. TRUEJUMP CS
  185.  
  186. PRINT "Connexion baudrate less than MinBaud, hanging up!\n"
  187. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Connexion at $(baud), MinBaud is $(minbaud), hanging up!"\"
  188. MODEMCLOSE
  189. DELAY $(calldelay)
  190. JUMP I
  191.  
  192.  
  193. CS: SET starttime $<time>
  194. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> CONNECT $(baud)"\"
  195. BEGINSESSION $(remote.address)
  196. GETOUTBOUND G6,D6
  197. CMPI $(event) WAZOO
  198. TRUEJUMP C1
  199. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Failed Wazoo negotiation phase"\"
  200. JUMP ER
  201.  
  202. C1: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Started Session with $(remote.address) - $(remote.sitename) - $(remote.sysop) - $(mailername.$(remote.product))"\"
  203. PRINT "Started Session with $(remote.address) - $(remote.sitename) - $(remote.sysop) - $(mailername.$(remote.product))\n"
  204.  
  205. C2: CMP $(host.wzcap) 8
  206. TRUEJUMP C3
  207. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> No common protocol available"\"
  208. JUMP ER
  209.  
  210. C3: SETMAILERFLAGS DN,PN
  211. ;XPRSETUP xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,NY,M8192,C$(baud)
  212. XPRSETUP  xprzedzap.library KN,C$(Baud)
  213. CMP $(RC) 0
  214. TRUEJUMP C4
  215. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Error setting up xprzedzap.library"\"
  216. JUMP ER
  217.  
  218. C4: CMPI $(callboss) TRUE
  219. FALSEJUMP C5
  220. REXXMSG "" REXX "ROCK:bossoutbound.rexx $(outbound) $(host.address) $(remote.address)"
  221.  
  222. C5: FINDFREQ $(remote.address)
  223.  
  224. REXXMSG "RY" REXX "ROCK:rock.rexx $(outbound) $(host.address) $(remote.address)"
  225. CMP $(result2) 1
  226. FALSEJUMP C6
  227. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Site $(remote.address) not online"\"
  228.  
  229. C6: CMPI $(xprdisplay) TRUE
  230. FALSEJUMP R
  231. SETUPDATE "$(xprwin)/CONNECT $(baud) - $(remote.sitename) - $(remote.sysop)/INACTIVE/NOCLOSE/NOSIZE/SCREEN $(pubscreen)"
  232.  
  233. R: XPRSEND ""
  234. FALSEJUMP L
  235. SYSTEM "DELETE $(outbound)$(remote.zone).$(remote.net).$(remote.node).$(remote.point).?LO"
  236. PRINT "Waiting for files\n"
  237. ;DELAY 2
  238. MODEMCLEAR
  239. XPRRECEIVE ""
  240.  
  241. L: XPRCLOSE
  242. SETUPDATE NULL
  243. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Ended Session with $(remote.address)"\"
  244.  
  245.  
  246. E: MODEMCLOSE
  247. SET endtime $<time>
  248. ENDSESSION ALL
  249.  
  250. CMPI $(starttime) 0
  251. TRUEJUMP E0
  252.  
  253. REXXMSG "RY" REXX "ROCK:cnxtime.rexx $(starttime) $(endtime)"
  254. SET dtime $(result2)
  255. PRINT "Session connect time $(dtime)\n"
  256. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Session connect time $(dtime)"\"
  257.  
  258. E0: PRINT "Exiting.\n"
  259. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Exiting Rock."\"
  260.  
  261. CMPI $(logdisplay) FALSE
  262. TRUEJUMP E1
  263. SYSTEM "type T:rock.log >\"$(logwin)/SESSION LOG/INACTIVE/CLOSE/WAIT/SCREEN $(pubscreen)"\"
  264.  
  265. E1: CMPI $(logrock) FALSE
  266. TRUEJUMP U
  267. SYSTEM "echo >>t:ROCK.log \""\"
  268. SYSTEM "type >>$(logfile) T:rock.log"
  269.  
  270. U: SYSTEM "DELETE >NIL: env:rock_calling env:rock_config env:rock_phone env:rock_password env:wplname xferq:#? T:rock.log"
  271. SYSTEM "Assign XFERQ: remove"
  272. DELAY 3
  273. SET RC 1
  274. RETURN
  275.  
  276. ER:
  277. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> An error has occured."\"
  278. JUMP E
  279.  
  280. AB:
  281. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Session aborted."\"
  282. JUMP E
  283.  
  284.  
  285. Y: RETURN
  286.  
  287. W: SYSTEM "echo >>t:rock.log \"$<date> $<time> $(filestatus) $(remfile) $(filesize) Bytes CPS:$(cps) ($(cpsp)%)"\"
  288. PRINT "$(filestatus) $(remfile) $(filesize) Bytes CPS:$(cps) ($(cpsp)%)\n"
  289. RETURN
  290.  
  291. Z: RETURN
  292.  
  293. X: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> $(filestatus) $(remfile) $(filesize) Bytes CPS:$(cps) ($(cpsp)%)"\"
  294. PRINT "$(filestatus) $(remfile) $(filesize) Bytes CPS:$(cps) ($(cpsp)%)\n"
  295. RETURN
  296.  
  297.  
  298. STARTUP:
  299. ;setstatus "kcon:0/130/640/250/ROCK v1.4 is copyright © 1994-1995 by Jean-Marc Xiume'/WAIT/CLOSE"
  300. LOADSCRIPT ROCKDEF rock:rock.default_cfg
  301. FALSERETURN
  302. LOADSCRIPT ROCKFIG ${rock_config}
  303. FALSERETURN
  304. LAUNCH ROCK ROCK!M 4 30000
  305. RETURN
  306.